#include "seq_list.h"

int main()
{
    //创建顺序表
    //方式1  返回值的方式
    //seq_list_t *my_list = create_list1();
    //方式2  地址传递的方式
    seq_list* my_list = NULL;
    create_list2(&my_list);//想要在函数里修改实参，必须将实参的地址传入函数

    //1.任意位置插入元素
    insert_list(my_list, 0, 'A');
    insert_list(my_list, 1, 'B');
    insert_list(my_list, 2, 'C');
    print_list(my_list);

    //按照位置删除元素
    /*delete_from_list_by_pos(my_list, 2);
    delete_from_list_by_pos(my_list, 0);
    delete_from_list_by_pos(my_list, 0);
    print_list(my_list);*/
    printf("----------------------------\n");

     //按照值删除元素
    delete_from_list_by_value(my_list, 6);
    print_list(my_list);
    printf("----------------------------\n");

    modify_from_list_by_pos(my_list, 1, 6);
    print_list(my_list);
    printf("----------------------------\n");

    modify_list_by_value(my_list, 67, 7);
    print_list(my_list);
    printf("----------------------------\n");

    node_t temp;
    memset(&temp, 0, sizeof(temp));//将结构体所有字节置成 0
    check_list_by_pos(my_list, 1, &temp);
    printf("temp.data = %d\n", temp.data);
    printf("----------------------------\n");

    int ret = check_list_by_value(my_list, 7);
    if(1 == ret){
        printf("有数据\n");
    }
    printf("----------------------------\n");

    free_list(&my_list);
    printf("my_list = %p\n", my_list);

    return 0;
}
